﻿using Eflong.MonitoringLib.MonitoringUnit;
using Eflong.SocketClient;

namespace KWBridge
{
    public interface IBridge
    {
        float PoolingInterval { get; set; }

        bool IsIdle { get; set; }

        bool IsPause { get; set; }

        float DataChangedInterval { get; set; }

        CoalMineUnitManager manager { get; set; }

        DefinitionChangedHandler onDefinitionChanged { get; set; }

        DataChangedHandler onDataChanged { get; set; }

        DispatchErrorHandler onErrorDeal { get; set; }

        DispatchMessageHandler onMessageShow { get; set; }

        void Start( );

        void Stop( );

        void Dispose( );

        void SendStepRequest( );

        void LoginForBridge( string user , string password );

        void ConnectToServer( string host , int port );
    }
}